package org.mtransit.android.ui.view.map.impl; import org.mtransit.android.commons.MTLog; import android.graphics.Bitmap; import com.google.android.gms.maps.CameraUpdate; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.GoogleMap.CancelableCallback; import com.google.android.gms.maps.GoogleMap.InfoWindowAdapter; import com.google.android.gms.maps.GoogleMap.OnCameraChangeListener; import com.google.android.gms.maps.GoogleMap.OnInfoWindowClickListener; import com.google.android.gms.maps.GoogleMap.OnMapClickListener; import com.google.android.gms.maps.GoogleMap.OnMapLoadedCallback; import com.google.android.gms.maps.GoogleMap.OnMapLongClickListener; import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener; import com.google.android.gms.maps.GoogleMap.OnMarkerDragListener; import com.google.android.gms.maps.GoogleMap.OnMyLocationButtonClickListener; import com.google.android.gms.maps.GoogleMap.SnapshotReadyCallback; import com.google.android.gms.maps.LocationSource; import com.google.android.gms.maps.UiSettings; import com.google.android.gms.maps.model.CameraPosition; import com.google.android.gms.maps.model.Circle; import com.google.android.gms.maps.model.CircleOptions; import com.google.android.gms.maps.model.GroundOverlay; import com.google.android.gms.maps.model.GroundOverlayOptions; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; import com.google.android.gms.maps.model.Polygon; import com.google.android.gms.maps.model.PolygonOptions; import com.google.android.gms.maps.model.Polyline; import com.google.android.gms.maps.model.PolylineOptions; import com.google.android.gms.maps.model.TileOverlay; import com.google.android.gms.maps.model.TileOverlayOptions; // based on Maciej Górski's Android Maps Extensions library (Apache License, Version 2.0) class GoogleMapWrapper implements IGoogleMap, MTLog.Loggable { private static final String TAG = GoogleMapWrapper.class.getSimpleName(); @Override public String getLogTag() { return TAG; } private GoogleMap map; public GoogleMapWrapper(GoogleMap map) { this.map = map; } @Override public final Circle addCircle(CircleOptions options) { return map.addCircle(options); } @Override public final GroundOverlay addGroundOverlay(GroundOverlayOptions options) { return map.addGroundOverlay(options); } @Override public final Marker addMarker(MarkerOptions options) { return map.addMarker(options); } @Override public final Polygon addPolygon(PolygonOptions options) { return map.addPolygon(options); } @Override public final Polyline addPolyline(PolylineOptions options) { return map.addPolyline(options); } @Override public final TileOverlay addTileOverlay(TileOverlayOptions options) { return map.addTileOverlay(options); } @Override public final void animateCamera(CameraUpdate update, CancelableCallback callback) { map.animateCamera(update, callback); } @Override public final void animateCamera(CameraUpdate update, int durationMs, CancelableCallback callback) { map.animateCamera(update, durationMs, callback); } @Override public final void animateCamera(CameraUpdate update) { map.animateCamera(update); } @Override public final void clear() { map.clear(); } @Override public final CameraPosition getCameraPosition() { return map.getCameraPosition(); } @Override public final int getMapType() { return map.getMapType(); } @Override public final float getMaxZoomLevel() { return map.getMaxZoomLevel(); } @Override public final float getMinZoomLevel() { return map.getMinZoomLevel(); } @Override public final ProjectionWrapper getProjection() { return new ProjectionWrapper(map.getProjection()); } @Override public final UiSettings getUiSettings() { return map.getUiSettings(); } @Override public final boolean isBuildingsEnabled() { return map.isBuildingsEnabled(); } @Override public final boolean isIndoorEnabled() { return map.isIndoorEnabled(); } @Override public final boolean isMyLocationEnabled() { return map.isMyLocationEnabled(); } @Override public final boolean isTrafficEnabled() { return map.isTrafficEnabled(); } @Override public final void moveCamera(CameraUpdate update) { map.moveCamera(update); } @Override public final void setBuildingsEnabled(boolean enabled) { map.setBuildingsEnabled(enabled); } @Override public final boolean setIndoorEnabled(boolean enabled) { return map.setIndoorEnabled(enabled); } @Override public final void setInfoWindowAdapter(InfoWindowAdapter adapter) { map.setInfoWindowAdapter(adapter); } @Override public final void setLocationSource(LocationSource source) { map.setLocationSource(source); } @Override public final void setMapType(int type) { map.setMapType(type); } @Override public final void setMyLocationEnabled(boolean enabled) { map.setMyLocationEnabled(enabled); } @Override public final void setOnCameraChangeListener(OnCameraChangeListener listener) { map.setOnCameraChangeListener(listener); } @Override public final void setOnInfoWindowClickListener(OnInfoWindowClickListener listener) { map.setOnInfoWindowClickListener(listener); } @Override public final void setOnMapClickListener(OnMapClickListener listener) { map.setOnMapClickListener(listener); } @Override public void setOnMapLoadedCallback(OnMapLoadedCallback callback) { map.setOnMapLoadedCallback(callback); } @Override public final void setOnMapLongClickListener(OnMapLongClickListener listener) { map.setOnMapLongClickListener(listener); } @Override public final void setOnMarkerClickListener(OnMarkerClickListener listener) { map.setOnMarkerClickListener(listener); } @Override public final void setOnMarkerDragListener(OnMarkerDragListener listener) { map.setOnMarkerDragListener(listener); } @Override public void setOnMyLocationButtonClickListener(OnMyLocationButtonClickListener listener) { map.setOnMyLocationButtonClickListener(listener); } @Override public void setPadding(int left, int top, int right, int bottom) { map.setPadding(left, top, right, bottom); } @Override public final void setTrafficEnabled(boolean enabled) { map.setTrafficEnabled(enabled); } @Override public void snapshot(SnapshotReadyCallback callback) { map.snapshot(callback); } @Override public void snapshot(SnapshotReadyCallback callback, Bitmap bitmap) { map.snapshot(callback, bitmap); } @Override public final void stopAnimation() { map.stopAnimation(); } @Override public GoogleMap getMap() { return map; } }